package de.fhb.fitmeier.dbhibernate.persistence;
// Generated 10.03.2012 17:17:31 by Hibernate Tools 3.4.0.CR1


import java.math.BigDecimal;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Bestellung generated by hbm2java
 */
@Entity
@Table(name="Bestellung")
public class Bestellung  implements java.io.Serializable {


     private Integer bestellnummer;
     private Kunde kunde;
     private Adresse adresse;
     private Rechnung rechnung;
     private Date bestelldatum;
     private Date bearbeitungsdatum;
     private String bearbeiter;
     private String liefermodus;
     private Date lieferdatum;
     private String status;
     private BigDecimal gesamtsumme;
     private BigDecimal zuzahlung;
     private BigDecimal gewinn;
     private Set<Von> vons = new HashSet<Von>(0);

    public Bestellung() {
    }

	
    public Bestellung(Date bestelldatum, String liefermodus, Date lieferdatum, String status, BigDecimal gesamtsumme, BigDecimal zuzahlung, BigDecimal gewinn) {
        this.bestelldatum = bestelldatum;
        this.liefermodus = liefermodus;
        this.lieferdatum = lieferdatum;
        this.status = status;
        this.gesamtsumme = gesamtsumme;
        this.zuzahlung = zuzahlung;
        this.gewinn = gewinn;
    }
    public Bestellung(Kunde kunde, Adresse adresse, Rechnung rechnung, Date bestelldatum, Date bearbeitungsdatum, String bearbeiter, String liefermodus, Date lieferdatum, String status, BigDecimal gesamtsumme, BigDecimal zuzahlung, BigDecimal gewinn, Set<Von> vons) {
       this.kunde = kunde;
       this.adresse = adresse;
       this.rechnung = rechnung;
       this.bestelldatum = bestelldatum;
       this.bearbeitungsdatum = bearbeitungsdatum;
       this.bearbeiter = bearbeiter;
       this.liefermodus = liefermodus;
       this.lieferdatum = lieferdatum;
       this.status = status;
       this.gesamtsumme = gesamtsumme;
       this.zuzahlung = zuzahlung;
       this.gewinn = gewinn;
       this.vons = vons;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)

    
    @Column(name="Bestellnummer", unique=true, nullable=false)
    public Integer getBestellnummer() {
        return this.bestellnummer;
    }
    
    public void setBestellnummer(Integer bestellnummer) {
        this.bestellnummer = bestellnummer;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="Kundennummer")
    public Kunde getKunde() {
        return this.kunde;
    }
    
    public void setKunde(Kunde kunde) {
        this.kunde = kunde;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="Lieferadresse")
    public Adresse getAdresse() {
        return this.adresse;
    }
    
    public void setAdresse(Adresse adresse) {
        this.adresse = adresse;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="RechnungID")
    public Rechnung getRechnung() {
        return this.rechnung;
    }
    
    public void setRechnung(Rechnung rechnung) {
        this.rechnung = rechnung;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="Bestelldatum", nullable=false, length=10)
    public Date getBestelldatum() {
        return this.bestelldatum;
    }
    
    public void setBestelldatum(Date bestelldatum) {
        this.bestelldatum = bestelldatum;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="Bearbeitungsdatum", length=10)
    public Date getBearbeitungsdatum() {
        return this.bearbeitungsdatum;
    }
    
    public void setBearbeitungsdatum(Date bearbeitungsdatum) {
        this.bearbeitungsdatum = bearbeitungsdatum;
    }

    
    @Column(name="Bearbeiter", length=30)
    public String getBearbeiter() {
        return this.bearbeiter;
    }
    
    public void setBearbeiter(String bearbeiter) {
        this.bearbeiter = bearbeiter;
    }

    
    @Column(name="Liefermodus", nullable=false, length=2)
    public String getLiefermodus() {
        return this.liefermodus;
    }
    
    public void setLiefermodus(String liefermodus) {
        this.liefermodus = liefermodus;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="Lieferdatum", nullable=false, length=10)
    public Date getLieferdatum() {
        return this.lieferdatum;
    }
    
    public void setLieferdatum(Date lieferdatum) {
        this.lieferdatum = lieferdatum;
    }

    
    @Column(name="Status", nullable=false, length=2)
    public String getStatus() {
        return this.status;
    }
    
    public void setStatus(String status) {
        this.status = status;
    }

    
    @Column(name="Gesamtsumme", nullable=false, precision=7)
    public BigDecimal getGesamtsumme() {
        return this.gesamtsumme;
    }
    
    public void setGesamtsumme(BigDecimal gesamtsumme) {
        this.gesamtsumme = gesamtsumme;
    }

    
    @Column(name="Zuzahlung", nullable=false, precision=7)
    public BigDecimal getZuzahlung() {
        return this.zuzahlung;
    }
    
    public void setZuzahlung(BigDecimal zuzahlung) {
        this.zuzahlung = zuzahlung;
    }

    
    @Column(name="Gewinn", nullable=false, precision=7)
    public BigDecimal getGewinn() {
        return this.gewinn;
    }
    
    public void setGewinn(BigDecimal gewinn) {
        this.gewinn = gewinn;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="bestellung")
    public Set<Von> getVons() {
        return this.vons;
    }
    
    public void setVons(Set<Von> vons) {
        this.vons = vons;
    }




}


